In a conventional video streaming system, a user may navigate video media at a local host while the content is being ingested at a remote network media server. The network media server ingests a segment of video content from a media source. While the network media server ingests the segment of video content, the local host concurrently downloads the video content, or a copy thereof, from the remote network media server. In many cases, there is a latency delay, or time offset, between the time that a segment of the video content is ingested by the network media server and the time that same segment is downloaded by the local host from the network media server. For example, if a user pauses the playback of video content, the remote network media server continues to ingest video content, and the local host resumes downloading the video content from the remote network media server when playback resumes.
When a user initiates playback prior to the completion of ingest by the network media server, the local host locally generates a status bar to display the download status of the media downloaded to the local host. For example, the download status shows the percentage of content downloaded from the remote network media server to the local host, and the user can navigate forward only to that portion that is currently downloaded at the local host. In the conventional system, the dynamically updated download status reflects the percentage of content received by the local host. Downloading the download stream at the local host without knowledge of the ingest of the ingest stream by the network media server may cause problems in the playback and/or confusion to the user at the local host.
Overview
Embodiments of an apparatus are described. In one embodiment, the apparatus is an apparatus for reporting media stream status. In one embodiment, the apparatus includes a content receiver, a concurrent streamer coupled to the content receiver, and a protocol engine coupled to the concurrent streamer. The content receiver receives an ingest stream of media content from a media source in response to a request for the media content from a local host. The concurrent streamer sends at least a portion of a local stream of the media content to the local host concurrent with the reception of the ingest stream of the media content by the content receiver. The protocol engine sends a protocol element from the network media server to the local host. The protocol element indicates an ingest status of the ingest stream at the content receiver. Other embodiments of the apparatus are also described.
Embodiments of a method are also described. In one embodiment, the method includes receiving from a network media server to a local host at least a portion of a local stream of media content concurrent with a reception of an ingest stream of the media content by the network media server in response to a request for the media content from the local host. The method also includes receiving an ingest status from the network media server to the local host. The ingest status indicates an ingest progress of the ingest stream at the network media server. Other embodiments of the method are also described.
Other embodiments will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrated by way of example.
Throughout the description, similar reference numbers may be used to identify similar elements.